package com.excesys.exsecs.access.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.excesys.exsecs.access.entity.AccessDeviceInfo;
import com.excesys.exsecs.access.vo.AccessDeviceInfoVO;
import com.excesys.exsecs.access.vo.ThingInvokeVO;
import com.excesys.exsecs.common.core.util.R;
import org.springframework.validation.BindingResult;

import java.util.ArrayList;
import java.util.List;

public interface AccessDeviceInfoService extends IService<AccessDeviceInfo> {

	IPage queryPage(Page page, AccessDeviceInfo accessDeviceInfo);

	List<AccessDeviceInfo> queryList(LambdaQueryWrapper<AccessDeviceInfo> wrapper);

	AccessDeviceInfo detail(String unitNo);

    boolean saveDevice(AccessDeviceInfo accessDeviceInfo) throws Exception;

	boolean removeBatch(ArrayList<Long> toList);

	ThingInvokeVO invoke(ThingInvokeVO thingInvokeVO) throws Exception;

	R importDevice(List<AccessDeviceInfoVO> excelVOList, String productKey, BindingResult bindingResult);

	List<AccessDeviceInfoVO> exportDevice(AccessDeviceInfo accessDeviceInfo);

	boolean setStaticProp(AccessDeviceInfo accessDeviceInfo);


}